Đơn vị phân giải địa chỉ Địa chỉ bộ nhớ

Hầu hết các máy tính hiện đại đều sử dụng địa chỉ byte. Mỗi địa chỉ xác định một byte (tám bit) duy nhất của thiết bị luu trữ. Dữ liệu lớn hơn một byte có thể được lưu trữ trong một chuỗi các địa chỉ liên tiếp. Có các máy tính sử dụng địa chỉ word, trong đó đơn vị lưu trữ nhỏ nhất có thể gán địa chỉ là một word của bộ xử lý. Ví dụ, máy tính mini Data General Nova, các máy vi tính Texas Instruments TMS9900 và National Semiconductor IMP-16 sử dụng word 16 bit. Nhiều mainframe 36 bit (ví dụ: PDP-10) sử dụng địa chỉ word (18 bit), không phải địa chỉ byte, do đó không gian địa chỉ có 218 word (36 bit), tức là khoảng 1 megabyte bộ nhớ. Khả năng gán địa chỉ cho bộ nhớ phụ thuộc vào kích thước tính theo bit của bus địa chỉ - càng sử dụng nhiều bit, máy tính càng có nhiều địa chỉ. Ví dụ, một máy địa chỉ byte (8 bit) có bus địa chỉ 20 bit (ví dụ: Intel 8086) có thể gán địa chỉ cho 220 (1.048.576) byte hay một MiB bộ nhớ, trong khi bus 32 bit (ví dụ: Intel 80386) gán địa chỉ cho 232 byte (4.294.967.296) hoặc 4 GiB. Trái lại, máy địa chỉ word (36 bit) với bus địa chỉ 18 bit có thể gán địa chỉ cho 218 (262,144) ô nhớ 36 bit (9,437,184 bit), tương đương với 1.179.648 byte, hay 1.125 MiB - nhiều hơn một chút so với 8086.

Một số máy tính cũ hơn (máy tính sử dụng hệ thập phân), sử dụng địa chỉ thập phân. Ví dụ, mỗi địa chỉ trong bộ nhớ lõi từ của IBM 1620 có dạng một BCD 6 bit, bao gồm một bit chẵn lẻ, bit cờ và bốn bit số. IBM 1620 sử dụng địa chỉ thập phân gồm 5 chữ số, vì vậy về lý thuyết, địa chỉ cao nhất có thể là 99.999. Trên thực tế, CPU của nó hỗ trợ 20.000 địa chỉ và có thể thêm vào tối đa hai đơn vị bộ nhớ ngoài tùy ý, mỗi đơn vị hỗ trợ 20.000 địa chỉ, với tổng số địa chỉ là 60.000 (00000–59999).

Kích thước word và kích thước địa chỉ

Kích thước word là một đặc trưng của kiến trúc máy tính. Nó biểu thị số bit mà CPU có thể xử lý tại một thời điểm. Các bộ xử lý hiện đại, kể cả các hệ thống nhúng, thường có kích thước word là 8, 16, 24, 32 hoặc 64 bit; hầu hết các máy tính thông thường hiện nay sử dụng 32 hoặc 64 bit. Nhiều kích thước khác nhau đã được sử dụng trong quá khứ, bao gồm 8, 9, 10, 12, 18, 24, 36, 39, 40, 48 và 60 bit.

Thông thường, khi đề cập đến kích thước word của một máy tính hiện đại, người ta còn đang mô tả kích thước của không gian địa chỉ trên máy tính đó. Ví dụ, một máy tính được gọi là "32-bit" cũng thường chấp nhận địa chỉ 32-bit; một máy tính 32 bit địa chỉ byte có thể gán địa chỉ cho 232 = 4.294.967.296 byte bộ nhớ hay 4 gibibyte (GiB). Điều này cho phép một địa chỉ bộ nhớ được lưu trữ hoàn toàn trong một word.

Tuy nhiên, điều này không phải lúc nào cũng đúng. Máy tính có thể có địa chỉ bộ nhớ lớn hơn hoặc nhỏ hơn kích thước word của nó. Ví dụ, nhiều bộ xử lý 8 bit, chẳng hạn như MOS Technology 6502, hỗ trợ địa chỉ 16 bit - nếu không, chúng sẽ bị giới hạn ở 256 byte bộ nhớ. Intel 8088Intel 8086 16 bit hỗ trợ địa chỉ 20 bit thông qua phân đoạn, cho phép chúng truy cập 1 MiB thay vì 64 KiB bộ nhớ. Tất cả các bộ xử lý Intel Pentium kể từ Pentium Pro đều có Phần mở rộng địa chỉ vật lý (PAE), hỗ trợ map từ địa chỉ vật lý 36 bit sang địa chỉ ảo 32 bit. Nhiều bộ xử lý thời đầu chứa 2 địa chỉ trong mỗi word, chẳng hạn như các bộ xử lý 36-bit.

Về lý thuyết, máy tính 64 bit địa chỉ byte thời hiện đại có thể sử dụng 264 byte (16 exbibyte) bộ nhớ, nhưng trên thực tế, dung lượng bộ nhớ bị giới hạn bởi CPU, bộ điều khiển bộ nhớ hoặc thiết kế của bảng mạch in (ví dụ: số lượng đầu nối bộ nhớ vật lý hoặc dung lượng bộ nhớ hàn chết).